package com.xiangge.demo;

import java.util.Arrays;
import java.util.Scanner;

public class ArrayDemo3 {
    public static void main(String[] args) {
        int c[];
        c = new int[]{1, 2, 3, 4};

        System.out.println(c[0]);
        System.out.println(c[2-1]);


       int d[];
       d=new int[]{1,2,3,4};

       int[] arr = {1,2,3,4}; // {1,2,3,4} ---> new int[]{1,2,3,4}


        // char [] a2 = "hello";
    }

    public static void main1(String[] args) {
        // 1. 创建数组：arr = {12,14,23,45,66,68,70,77,90,91}
        int[] arr = {12,14,23,45,66,68,70,77,90,91};
        // 2. 键盘录入一个整数
        System.out.println("请录入一个整数：");
        int num = new Scanner(System.in).nextInt();
        // 3. 将num添加到数组中, 哪个index位置？
        // 3.1 从前往后遍历数组，找到数组中第一个比num大的元素的位置：index
        int index = 0; // 先假设数组中第一个比num大的在0号位置,如果不是0号位置，那么再往后找
        for (int i = 0; i < arr.length; i++) {
            if(arr[i] > num){
                // 将index 重新赋值为： i
                index = i;
                break;
            }
        }
        // 3.2 程序走到此处，说明：num要插入到数组arr的index位置
        // 创建一个长度为： arr.length + 1 的新数组： newArr
        int[] newArr = new int[arr.length + 1];
        // 3.3 开始元素平移： [0,index-1] : i --- i  , index -  num , [index+1,newArr.length] : i(新) ---> i-1(老)
        // 将新数组的[0,index-1]范围内的元素赋值为： 老数组arr的 [0,index-1]
        for (int i = 0; i < index; i++) {
            newArr[i] = arr[i];
        }
        // 将新数组的index位置放num
        newArr[index] = num;
        // 将新数组的[index+1,newArr.length-1] 放老数组arr [index, arr.lenght-1]
        for (int i = index + 1; i < newArr.length; i++) {
            newArr[i] = arr[i - 1];
        }
        // 4. 输出
        System.out.println(Arrays.toString(newArr));
    }
}
